home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_200
/
292_04
/
t6809l.asm
< prev
next >
Wrap
Assembly Source File
|
1990-07-16
|
2KB
|
108 lines
.sbttl Assembler Link Tests
.module t6809l
; This file and TCONST.ASM should be assembled and linked.
;
; AS6809 -XGOL T6809L
; AS6809 -XGOL TCONST
;
; ASLINK -C
; -XMS
; T6809L
; TCONST
; -E
;
; The following tests verify the correct processing of
; external references for the direct page, index mode offsets,
; and branches.
;
; *L signifies an error will be reported at link time.
; branch test must be first
.area TEST (ABS,OVR)
.blkb 0x7E ;bra1:
bra bra1 ; 20 00 [20 80]
.blkb 0x7F ;bra2:
bra bra2 ;*L 20 00 [20 7F]
bra bra3 ; 20 00 [20 7F]
.blkb 0x7F
.blkb 0x00 ;bra3:
bra bra4 ;*L 20 00 [20 [80]
.blkb 0x80
.blkb 0x00 ;bra4:
.blkb 0x7E ;bra5:
bra bra5 ; 20 00 [20 80]
.blkb 0x7F ;bra6:
bra bra6 ;*L 20 00 [20 7F]
bra bra7 ; 20 00 [20 7F]
.blkb 0x7F
.blkb 0x00 ;bra7:
bra bra8 ;*L 20 00 [20 [80]
.blkb 0x80
.blkb 0x00 ;bra8:
; direct page test
.area DIRECT (ABS,OVR)
.setdp 0,DIRECT
lda *minus1 ;*L 96 00 [96 FF]
lda *zero ; 96 00 [96 00]
lda *two55 ; 96 00 [96 FF]
lda *two56 ;*L 96 00 [96 00]
lda *lminus1 ;*L 96 00 [96 FF]
lda *lzero ; 96 00 [96 00]
lda *ltwo55 ; 96 00 [96 FF]
lda *ltwo56 ;*L 96 00 [96 00]
; indexed test
lda minus1,x ; A6 89 00 00 [A6 89 FF FF]
lda zero,x ; A6 89 00 00 [A6 89 00 00]
lda two55,x ; A6 89 00 00 [A6 89 00 FF]
lda two56,x ; A6 89 00 00 [A6 89 01 00]
; direct page boundary / length checking
.area A
.blkb 1
.area PAGE0 (PAG) ;*L Linker -- page boundary error
.setdp 0,PAGE0 ;*L Linker -- page definition boundary error
.blkb 0x101 ;*L Linker -- page length error
.area PAGE1 (ABS,OVR)
.setdp 0x100,PAGE1
.setdp boundary,PAGE1 ;*L Linker -- page definition boundary error
; Non page '0' paging
.area PAGE2 (ABS,OVR)
.setdp 0,PAGE2
lda *minus1 ;*L 96 00 [96 FF]
lda *zero ; 96 00 [96 00]
lda *two55 ; 96 00 [96 FF]
lda *two56 ;*L 96 00 [96 00]
.setdp 0x100,PAGE2
lda *minus1 ;*L 96 00 [96 FF]
lda *zero ;*L 96 00 [96 00]
lda *two55 ;*L 96 00 [96 FF]
lda *two56 ; 96 00 [96 00]
lda *five11 ; 96 00 [96 FF]
lda *five12 ;*L 96 00 [96 00]